package com.xinli.business.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinli.common.annotation.Excel;
import com.xinli.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;

/**
 * 订单售后原因对象 t_order_refund
 *
 * @author ruoyi
 * @date 2025-03-18
 */
@Data
@TableName(value = "t_order_refund")
@EqualsAndHashCode(callSuper = true)
public class TOrderRefund extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * "订单Id"
     */
    @Excel(name = "订单Id")
    @NotBlank(message = "订单Id不能为空")
    private String orderId;

    /**
     * "订单编号"
     */
    @Excel(name = "订单编号")
    private String orderNo;

    /**
     * "userId"
     */
    @Excel(name = "userId")
    private String userId;

    /**
     * "咨询师Id"
     */
    @Excel(name = "咨询师Id")
    private String zxsId;

    /**
     * "实付金额"
     */
    @Excel(name = "实付金额")
    private BigDecimal totalAmount;

    /**
     * "退款金额"
     */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /**
     * "退款编号"
     */
    @Excel(name = "退款编号")
    private String refundNo;

    /**
     * "审核状态 :1为待审核,2为同意,3为不同意"
     */
    @Excel(name = "审核状态 :1为待审核,2为同意,3为不同意")
    private String checkStatus;

    /**
     * "审核备注"
     */
    @Excel(name = "审核备注")
    private String checkRemark;

    /**
     * "退款状态: 0:退款处理中 1:退款成功  2:退款失败"
     */
    @Excel(name = "退款状态: 0:退款处理中 1:退款成功  2:退款失败")
    private String refundStatus;

    /**
     * "申请时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;

    /**
     * "退款时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;

    /**
     * "卖家处理时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "卖家处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date handelTime;

    /**
     * "申请原因"
     */
    @Excel(name = "申请原因")
    private String buyerReason;


    /**
     * "咨询师姓名"
     */
    @TableField(exist = false)
    private String  zxsname;

    /**
     * "咨询师头像"
     */
    @TableField(exist = false)
    private String  zxsavatar;


    /**
     * "用户姓名"
     */
    @TableField(exist = false)
    private String  username;

    /**
     * "用户头像"
     */
    @TableField(exist = false)
    private String  useravatar;




}
